<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="uvA2s" id="uvA2s"><span data-lake-id="u99501598" id="u99501598">典型回答</span></h1>
  <p data-lake-id="u7affcad5" id="u7affcad5"><br></p>
  <p data-lake-id="u492074cf" id="u492074cf"><span data-lake-id="udee2c32b" id="udee2c32b">NOSQL数据库无需提前设计表结构，数据可以根据需要自由地存储和组织，而且相对于关系型数据库，NOSQL高效灵活，非常适合那些复杂、高变化、高并发量的场景中。</span></p>
  <p data-lake-id="ud328deb1" id="ud328deb1"><span data-lake-id="u8796e71d" id="u8796e71d">​</span><br></p>
  <h1 data-lake-id="CbcZD" id="CbcZD"><span data-lake-id="uc3bc63bd" id="uc3bc63bd">扩展知识</span></h1>
  <p data-lake-id="u3aa25526" id="u3aa25526"><br></p>
  <h2 data-lake-id="XtGtA" id="XtGtA"><span data-lake-id="u8df15830" id="u8df15830" style="color: rgb(36, 41, 47)">什么是关系型数据库，什么是非关系型数据库？</span></h2>
  <p data-lake-id="ueab5531d" id="ueab5531d"><br></p>
  <p data-lake-id="u64c1e886" id="u64c1e886"><span data-lake-id="u861f0fd6" id="u861f0fd6" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">关系型数据库，是指采用了关系模型来组织数据的数据库（关系模型可以简单理解为二维表格模型），其以行和列的形式存储数据，以便于用户管理。</span></p>
  <p data-lake-id="u1860cc0d" id="u1860cc0d"><span data-lake-id="u54e1a763" id="u54e1a763" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">​</span><br></p>
  <p data-lake-id="u8872331a" id="u8872331a"><span data-lake-id="u582d33dc" id="u582d33dc" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">关系型数据库中有表的概念，表中包含了行和列，多张（或1张）表可以组成数据库。</span></p>
  <p data-lake-id="uce30d3e7" id="uce30d3e7"><span data-lake-id="u9b4c4297" id="u9b4c4297" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">​</span><br></p>
  <p data-lake-id="uf3a55506" id="uf3a55506"><span data-lake-id="ud5a7d924" id="ud5a7d924" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">关系型数据库具有以下几个特点：</span></p>
  <p data-lake-id="u1466bd6d" id="u1466bd6d"><span data-lake-id="uedb11bf9" id="uedb11bf9" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">1、传统的关系型数据库中的数据以行和列的方式进行存储。 </span></p>
  <p data-lake-id="u090440ef" id="u090440ef"><span data-lake-id="uff188774" id="uff188774" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">2、关系型数据库采用结构化查询语言（即SQL）来对数据库进行查询 </span></p>
  <p data-lake-id="u7fd692f9" id="u7fd692f9"><span data-lake-id="u473e10a0" id="u473e10a0" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">3、关系型数据库强调ACID规则（原子性（Atomicity）、一致性（Consistency）、隔离性（Isolation）、持久性（Durability）） </span></p>
  <p data-lake-id="u3c22acdd" id="u3c22acdd"><span data-lake-id="u4a7859a2" id="u4a7859a2" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">4、关系型数据库十分强调数据的一致性，并为此降低读写性能付出了巨大的代价 </span></p>
  <p data-lake-id="ue21fb59c" id="ue21fb59c"><span data-lake-id="ua973f96a" id="ua973f96a" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">5、关系型数据的数据通常存储在硬盘中</span></p>
  <p data-lake-id="u71ec46fc" id="u71ec46fc"><span data-lake-id="ua069fd25" id="ua069fd25" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">​</span><br></p>
  <p data-lake-id="ud3854069" id="ud3854069"><span data-lake-id="uecbb95dd" id="uecbb95dd" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">我们常见的MySQL、Oracle等都是关系型数据库。但是因为关系型数据库强调强一致性、以及基于硬盘存储，所以存在着一定的性能问题，相比之下，非关系型数据库在这方面就会相对有些优势。</span></p>
  <p data-lake-id="u01c8fdff" id="u01c8fdff"><span data-lake-id="ua6f2d15f" id="ua6f2d15f" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">​</span><br></p>
  <p data-lake-id="u7b2191d5" id="u7b2191d5"><span data-lake-id="u3d9d1a15" id="u3d9d1a15" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">NoSQL表示非关系型数据库，主要指那些非关系型的、分布式的，且一般不保证ACID的数据存储系统，主要代表如Redis、MongoDB等。</span></p>
  <p data-lake-id="u64052055" id="u64052055"><span data-lake-id="u91d7c2cb" id="u91d7c2cb" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">​</span><br></p>
  <p data-lake-id="u5d219870" id="u5d219870"><span data-lake-id="u489c91e9" id="u489c91e9" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">非关系型数据库的存储方式是基于键值来存储的，对于值的类型也有不同的支持，所以没有固定的要求和限制。</span></p>
  <p data-lake-id="ubdfaf7d8" id="ubdfaf7d8"><span data-lake-id="u7e614738" id="u7e614738" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">​</span><br></p>
  <h2 data-lake-id="vrE2k" id="vrE2k"><span data-lake-id="ua0bd78e2" id="ua0bd78e2" style="color: rgb(36, 41, 47)">关系型数据库和非关系型数据库主要有哪些区别？</span></h2>
  <p data-lake-id="u37fee444" id="u37fee444"><br></p>
  <p data-lake-id="u4af0115b" id="u4af0115b"><span data-lake-id="ud04337e2" id="ud04337e2" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">1、关系型数据库以表的形式进行存储数据，而非关系型数据库以Key-value的形式存储数据。 </span></p>
  <p data-lake-id="uc57185d4" id="uc57185d4"><span data-lake-id="u15bf10bb" id="u15bf10bb" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">2、关系型数据库需要保证事务的ACID，而非关系型数据库中的事务一般无法回滚。（也有部分数据库可以回滚，如MongoDB在集群模式下） </span></p>
  <p data-lake-id="u9c4826da" id="u9c4826da"><span data-lake-id="u1c9e8c3a" id="u1c9e8c3a" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">3、关系型数据库可以通过一张表中的任意字段进行查询，非关系型数据库需要通过key进行查询 </span></p>
  <p data-lake-id="u3e50f01f" id="u3e50f01f"><span data-lake-id="ueb7004fc" id="ueb7004fc" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">4、一般来说，关系型数据库是基于硬盘存储，非关系型数据库基于内存存储。 （Mongodb基于磁盘存储）</span></p>
  <p data-lake-id="ucc632862" id="ucc632862"><span data-lake-id="u705325d5" id="u705325d5" class="lake-fontsize-12" style="color: rgb(36, 41, 47)">5、关系型数据库支持各种范围查询、公式计算等，非关系型数据库不一定支持。</span></p>
  <p data-lake-id="u00b3560b" id="u00b3560b"><span data-lake-id="u83852bf4" id="u83852bf4"><br><br></span></p>
  <p data-lake-id="ua8c2aae5" id="ua8c2aae5"><span data-lake-id="u88f982d1" id="u88f982d1"><br><br></span></p>
 </body>
</html>